package TRANVIETHOANG;

public class NHANVAT_GAMES {
    //1. Biến toàn cục - Datafield
    /*
     * - Là biến khai báo bên ngoài các phương thức - thuộc tính.
     * - Phạm vi bên trong lớp đối tượng này.
     * - Mặc định phạm vi là Public
     * */
    String TenNhanVat;
    int CapDo;
    String KyNang;
    String BinhKhi;
    
    /*public void ViDu01(){
        int MaNhanVat = 10;
        TenNhanVat = "SonGoKu";
    }
    
    public void ViDu02(){
        //MaNhanVat - Báo lỗi ko tồn biến này
        TenNhanVat = "KungFu";
    }*/
    
    //2. Hàm khởi tạo
    /* Đặc điểm của hàm khởi tạo?
     * + Là hàm đc chạy đầu tiên nhất khi đối tượng đc sinh ra.
     * + Mặc định là public
     * + Trùng tên với tên lớp đối tượng.
     * + Khi lớp ko định nghĩa hàm khởi dựng --> khi tạo ra đối tượng
     * --> hàm khởi dựng ko tham số sẽ đc tạo ra.
     * + Nhưng nếu có hàm khởi dựng có tham số --> thì ko thể
     * tự tạo ra hàm khởi dựng ko tham số đc.
     * + Ko có giá trị trả về.
     * + Ko thể gọi nó trực tiếp đc --> mà chỉ gọi thông qua quá trình
     * khởi tạo đối tượng.
     * + Có 02 dạng hàm khởi dựng:
     * a. Ko tham số?
     * b. Có tham số?
     * */
    //a. Hàm khởi dựng ko tham số
    public NHANVAT_GAMES(){
        //Sử dụng để khởi tạo thông tin mặc định cho đối tượng
        TenNhanVat = "ABCD";
        CapDo = 1;
        KyNang = "Chạy thần tốc";
        BinhKhi = "Gậy";
    }
    
    //b. Hàm khởi dựng có tham số
    NHANVAT_GAMES(String pTenNhanVat,
                                                int CapDo,
                                                String KyNang,
                                                String BinhKhi){
        //Sử dụng để khởi tạo thông tin theo tham số truyền vào
        //Cú pháp:
        //<Biến toàn cục> = <Tham số>;
        TenNhanVat = pTenNhanVat;
        this.CapDo = CapDo; //?
        this.KyNang = KyNang;
        this.BinhKhi = BinhKhi;
    }     
}
